// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLLimit;
// import com.alibaba.druid.sql.ast.SQLOrderBy;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

#include "SQLShowOutlinesStatement.h"
#include "../../visitor/SQLASTVisitor.h"
#include "../SQLLimit.h"

// @Override
void SQLShowOutlinesStatement::accept0(SQLASTVisitor_ptr visitor)
{
  visitor->visit(SharedObject(SQLShowOutlinesStatement));
  visitor->endVisit(SharedObject(SQLShowOutlinesStatement));
}

SQLExpr_ptr SQLShowOutlinesStatement::getWhere()
{
  return where;
}

void SQLShowOutlinesStatement::setWhere(SQLExpr_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(SQLShowOutlinesStatement));
  }
  this->where = x;
}

SQLOrderBy_ptr SQLShowOutlinesStatement::getOrderBy()
{
  return orderBy;
}

void SQLShowOutlinesStatement::setOrderBy(SQLOrderBy_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(SQLShowOutlinesStatement));
  }
  this->orderBy = x;
}

SQLLimit_ptr SQLShowOutlinesStatement::getLimit()
{
  return limit;
}

void SQLShowOutlinesStatement::setLimit(SQLLimit_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(SQLShowOutlinesStatement));
  }
  this->limit = x;
}
